/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.edu.utfpr.view;

import java.util.ArrayList;
import java.util.List;
import javax.swing.table.AbstractTableModel;
import pojo.Produto;

/**
 *
 * @author gustavo
 */
public class ModeloTabelaProduto extends AbstractTableModel {

    private String[] colunas = new String[]{"Descrição", "Un. Medida", "Marca", "Preço", "Qtde estoque"};
    private List<Produto> linhas = new ArrayList<Produto>();
    private Produto produto = new Produto();

    @Override
    public int getColumnCount() {
        return colunas.length;
    }

    @Override
    public int getRowCount() {
        return linhas.size();
    }

    public List<Produto> getLinhas() {
        return linhas;
    }

    public void setLinhas(List<Produto> linhas) {
        this.linhas = linhas;
    }

    public Produto getObjetoSelecionado() {
        return produto;
    }

    public void setObjetoSelecionado(Produto produto) {
        this.produto = this.produto;
    }

    @Override
    public String getColumnName(int column) {
        switch (column) {
            case 0:
                return colunas[column];
            case 1:
                return colunas[column];
            case 2:
                return colunas[column];
            case 3:
                return colunas[column];
            case 4:
                return colunas[column];
            default:
                return "";
        }
    }

    @Override
    public Object getValueAt(int rowIndex, int columnIndex) {
        produto = (Produto) getLinhas().get(rowIndex);
        switch (columnIndex) {
            case 0:
                return produto.getDescricao();
            case 1:
                return produto.getUnidadeMedida();
            case 2:
                return produto.getMarca();
            case 3:
                return produto.getPrecoVenda();
            case 4:
                return produto.getQuantidadeEstoque();
            default:
                return null; // Caso nenhum atributo seja possível.
        }
    }

    @Override
    public Class<?> getColumnClass(int columnIndex) {
        return String.class;
    }
}
